Skip to content

feat(gtm): blog content, README hero, badge logging + awesome-list outreach#31

Merged
oratis merged 3 commits into
mainfrom
claude/flamboyant-mirzakhani-5a7214
Jun 27, 2026
Merged

feat(gtm): blog content, README hero, badge logging + awesome-list outreach#31
oratis merged 3 commits into
mainfrom
claude/flamboyant-mirzakhani-5a7214

Conversation

@oratis

@oratis oratis commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Executes the code-doable workstreams from docs/GTM-EXECUTION.md. Non-code growth actions (GSC/analytics, Show HN, awesome-list submissions) remain for the maintainer — see §11.

§5 — Blog / comparison pages

  • src/lib/blog.ts: file-based content registry (not the unused BlogPost DB model — no migration/seed). Four in-depth English posts: What is A2A, A2A vs MCP, One API for many agents, TakoAPI vs OpenRouter.
  • /blog + /blog/[slug] routes with BlogPosting / BreadcrumbList / FAQPage structured data.
  • English is the canonical, indexable version; non-English locales render the English body but are emitted noindex (same near-duplicate defense the entity pages use).
  • Sitemap entries, footer link, scoped .blog-prose styles (no new dependency), and a localized Blog i18n namespace across all 15 locales.

§4 — README hero

Centered hero with shields badge row (stars/license/MCP/A2A/last-commit), live OG-image banner, quick-nav links, a 30-second quickstart, and a TODO placeholder for a product GIF.

§2/§11 — Badge adoption logging

/api/badge/[slug] now logs each render to RequestLog (path=/api/badge/<slug>, via the existing logRequest helper, fire-and-forget) so adoption is quantifiable per repo. Note: GitHub's camo proxy strips Referer, so attribution is by slug + volume.

§3 A2 — Awesome-list outreach

docs/awesome-list-outreach.md: verified, ready-to-submit PR copy. Highlights — ai-boost/awesome-a2a (eligible, exact entry ready); wong2/awesome-mcp-servers (eligible, web-form only, no PRs); e2b-dev/awesome-ai-agents skipped (wrong list, stale) → redirected to the awesome-ai-sdks sibling; awesome-llm-agents flagged as weak fit.

Verification

  • tsc --noEmit and ESLint clean.
  • Local dev server: /blog → 200, JSON-LD, indexed; /zh/blog → localized title + noindex. The blog pages need no DB.

🤖 Generated with Claude Code

oratis and others added 3 commits June 27, 2026 11:31
…treach

Execute the code-doable workstreams from docs/GTM-EXECUTION.md:

- §5 Blog: file-based content registry (src/lib/blog.ts) + localized
  /blog routes with Article/Breadcrumb/FAQ structured data. Four depth
  posts (What is A2A, A2A vs MCP, one API for many agents, TakoAPI vs
  OpenRouter). English is canonical/indexable; non-English locales render
  the English body but are noindexed (near-duplicate defense). Adds
  sitemap entries, a footer link, scoped .blog-prose styles, and the
  Blog i18n namespace across all 15 locales.
- §4 README: centered hero with shields badges, OG-image banner,
  30-second quickstart, and a product-GIF placeholder.
- §2/§11 Badge logging: /api/badge/[slug] now logs each render to
  RequestLog (path=/api/badge/<slug>) so adoption is quantifiable.
- §3 A2: docs/awesome-list-outreach.md — verified, ready-to-submit PR
  copy for awesome-a2a / awesome-ai-sdks / awesome-mcp-servers.

Verified: tsc + eslint clean; /blog renders (indexed) and /zh/blog
renders noindexed in a local dev server.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
GTM §0 enabler — set GOOGLE_SITE_VERIFICATION to the GSC token and the
layout emits <meta name="google-site-verification"> (comma-separated list
supported; omitted entirely when unset). Lets the maintainer verify
takoapi.com in Search Console via env + redeploy, no code change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Publish-ready README for a self-maintained `awesome-a2a-agents` GitHub
list — a stars-flywheel + backlink hub per GTM §3 A3, with TakoAPI
featured honestly under "Directories & Gateways". ~30 web-verified
entries across spec/SDKs, gateways, frameworks, tools, samples, and
learning material. Keeps an HTML "verification notes" block listing
unverified items and deliberate exclusions to review before publishing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@oratis oratis merged commit 57c4a9b into main Jun 27, 2026
1 check passed
oratis added a commit that referenced this pull request Jun 27, 2026
Step 0 of the GTM plan ("没数据=盲飞") needs an analytics feedback loop.
The GSC verification meta and README hero from #31/#32 cover the rest;
this adds the missing piece — GA4.

- Analytics.tsx: GA4 via next/script (afterInteractive). Production-only
  so dev/preview traffic never pollutes the data; public measurement ID
  baked as default with NEXT_PUBLIC_GA_ID override, matching the
  hardcoded-default + env pattern used for SITE_URL in lib/seo.
- layout: render <Analytics/> at the end of <body>.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant